Mutual transmission of packets among nodes interconnected by way of a network has been carried out (see, for example, PTLs 1 and 2).
An example of a configuration of such a packet transmission system is described in NPL 1.
A packet transmission system described in NPL 1 includes a first network node 500, a second network node 600, and a third network node 700, as illustrated in FIG. 14. The respective network nodes (the first network node 500, the second network node 600, and the third network node 700) are interconnected by way of a network 800 and communicates with one another. In FIG. 14 and the following description that will be made with reference to FIG. 14, a case is assumed in which the number of network nodes is three. However, it is assumed to include three network nodes only for convenience of description, and it is not intended to limit the number of network nodes included in a packet transmission system. An arbitrary number of network nodes may be included in a packet transmission system.
Next, a configuration of the first network node 500 will be described with further reference to FIG. 14. Although the following description will be made using the configuration of the first network node 500 as an example, it is assumed that the configurations of the second network node 600 and the third network node 700 are the same as that of the first network node 500.
The first network node 500 includes a packet output application 510, a packet integration queue 520, a packet integration unit 530, a memory 540, and a packet receiving unit 550.
The packet output application 510 outputs packets to be transmitted to the network 800 to the packet integration queue 520.
The packet integration queue 520 accumulates packets that the packet output application 510 has output.
The packet integration unit 530 integrates a plurality of packets that have been accumulated in the packet integration queue 520 and transmits the integrated packets to the network 800. The transmitted packets are delivered to the second network node 600 and/or the third network node 700.
The memory 540 holds operational parameters for the packet integration unit 530.
The packet receiving unit 550 receives packets that the second network node 600 and/or the third network node 700 have transmitted by way of the network 800 and hands the received packets to the packet output application 510.
The packet integration unit 530 holds a timer 531, which is a timer to detect a timeout that provides a chance to transmit an integrated packet.
Further, the memory 540 holds a minimum integration number 541, which indicates a minimum value of the number of integrated packets, and a timeout value 542, which indicates a timeout value of packet integration.
Further, a packet P 521 and packets P′ 522 are illustrated as packets integrated in the packet integration queue 520. In this case, the packet P 521 is a leading packet in the packet integration queue 520, and the packets P′ 522 are packets having the same destination as the packet P 521.
An operation of a general packet transmission system having such a configuration will be described with reference to a flowchart in FIG. 15. As described above, the respective network nodes (the first network node 500, the second network node 600, and the third network node 700) transmit and receive packets with one another by way of the network 800. The following description will be made using an operation when the packet output application 510 included in the first network node 500 transmits packets to the network 800 as an example.
First, packets that the packet output application 510 has output are accumulated in the packet integration queue 520. When at least one packet enters the packet integration queue 520, the packet integration unit 530 refers to the packet integration queue 520. When the packet P 521 is present at the top of the packet integration queue 520 and the number of packets P′ 522 with the same destination as the packet P 521 accumulated in the packet integration queue 520 is greater than the minimum integration number 541 (Yes in step S51), the packet integration unit 530 performs the following. That is, the packet integration unit 530 creates an integrated packet into which the packet P 521 and the packets P′ 522 are integrated (step S52).
The number of packets P′ 522 integrated into an integrated packet is either all the packets P′ 522 or a maximum value of the number of integrated packets allowed by a maximum packet length. That is, it is assumed that the number of packets P′ 522 accumulated in the packet integration queue 520 is three. When an integrated packet into which the three packets P′ 522 and the packet P 521 are integrated falls within the maximum value of the number of integrated packets allowed by the maximum packet length, the packet integration unit 530 creates an integrated packets into which the three packets P′ 522 and the packet P 521 are integrated. On the other hand, when an integrated packet into which the above-described three packets P′ 522 and the packet P 521 are integrated does not fall within the maximum value of the number of integrated packets allowed by the maximum packet length, the packet integration unit 530 creates an integrated packet into which two (or one) packet(s) P′ 522 out of the three packets P′ 522 and the packet P 521 are integrated so that the integrated packet falls within the maximum value of the number of integrated packets.
On the other hand, when the condition in step S51 is not satisfied (No in step S51), the packet integration unit 530 proceeds to step S53 without performing processing in step S52.
Next, the packet integration unit 530 refers to the packet integration queue 520 and, when the packet P 521 is present at the top of the queue and the timer 531, which was set to the timeout value 542, has timed out (Yes in step S53), performs the following. That is, the packet integration unit 530 creates a packet into which the packet P 521 and the packets P′ 522 are integrated (step S54). The number of packets P′ 522 that are integrated into an integrated packet in this step is the same as that in step S52.
On the other hand, when the condition in step S53 is not satisfied (No in step S53), the packet integration unit 530 proceeds to step S55 without performing processing in step S54.
Next, when an integrated packet is created in step S52 or S54, the packet integration unit 530 transmits the created packet to the network 800 (step S55).
Next, the packet integration unit 530 resets the timeout value in the timer 531 to a value defined by the timeout value 542 (step S56). The packet integration unit 530 continues time measurement using the timer 531 again.
Next, the packet integration unit 530 returning to the operation in step S51 enables the general packet transmission system to transmit packets output by the packet output application 510 to the network 800 continuously.
By means of the operation as described above, the general packet transmission system first integrates a plurality of packets to be transmitted to an identical destination and then transmits the integrated packet to the network. With this operation, the packet transmission system achieves packet transmission in a wider bandwidth compared with a case in which a plurality of packets to be transmitted to an identical destination are transmitted individually.
As an example, when the network 800 is a network conforming to a wireless LAN (Local Area Network) protocol, a time interval between packets transmitted successively is stipulated by the network protocol. As a result, a transmission band in which the packet output application 510 is able to transmit packets to the network 800 is restricted. However, integrating a plurality of packets and transmitting the integrated packets enable time intervals between packets integrated into a packet to be eliminated, which makes it possible to achieve a wideband packet communication.